home *** CD-ROM | disk | FTP | other *** search
- section text,code
-
- xdef _LOOPS
- section data,data
-
- ds.w 0
- _LOOPS
- dc.l $0000c350
-
- xdef _IntGlob
- section bss,bss
-
- ds.w 0
- _IntGlob ds.b 4
- xdef _BoolGlob
- ds.w 0
- _BoolGlob ds.b 4
- xdef _Char1Glob
- ds.w 0
- _Char1Glob ds.b 1
- xdef _Char2Glob
- ds.w 0
- _Char2Glob ds.b 1
- xdef _Array1Glob
- ds.w 0
- _Array1Glob ds.b 204
- xdef _Array2Glob
- ds.w 0
- _Array2Glob ds.b 10404
- xdef _PtrGlb
- ds.w 0
- _PtrGlb ds.b 4
- xdef _PtrGlbNext
- ds.w 0
- _PtrGlbNext ds.b 4
- section text,code
-
- ds.l 0
- procstart
- xdef _main
- _main:
- movem.l l8,-(sp)
- link A5,#-l5
- move.l #$1388,_LOOPS(A4)
- bra l3
- l2
- move.l _LOOPS(A4),D0
- move.l #$AA,D1
- jsr __muls(pc)
- move.l #$03E8,D1
- jsr __muls(pc)
- moveq.l #1,D1
- add.l D2,D1
- jsr __divs(pc)
- move.l D0,_LOOPS(A4)
- l3
- jsr _Proc0(pc)
- move.l D0,D2
- cmp.l #$3A98,D2
- blt l2
- l10
- l4
- moveq.l #0,D0
- bra l6
- l6
- unlk A5
- move.l (sp)+,D2
- rts
- l8 reg D2
- l7 equ 12
- l5 equ 0
- procend
- procstart
- xdef _fake
- _fake:
- movem.l l14,-(sp)
- link A5,#-l11
- l12
- unlk A5
- rts
- l14 reg
- l13 equ 8
- l11 equ 0
- procend
- procstart
- xdef _Proc0
- _Proc0:
- movem.l l41,-(sp)
- link A5,#-l38
- moveq.l #0,D6
- jsr _Forbid(pc)
- jsr _timer(pc)
- move.l D0,D4
- moveq.l #0,D7
- bra l19
- l16
- l17
- addq.l #$01,D7
- l19
- cmp.l _LOOPS(A4),D7
- blt l16
- l48
- l18
- jsr _timer(pc)
- move.l D0,D6
- sub.l D4,D6
- jsr _Permit(pc)
- pea 48.W
- jsr _malloc(pc)
- addq.l #4,sp
- move.l D0,_PtrGlbNext(A4)
- pea 48.W
- jsr _malloc(pc)
- addq.l #4,sp
- move.l D0,_PtrGlb(A4)
- move.l _PtrGlb(A4),A0
- move.l _PtrGlbNext(A4),(A0)
- move.l _PtrGlb(A4),A0
- moveq.l #0,D0
- move.l D0,4(A0)
- move.l _PtrGlb(A4),A0
- moveq.l #2,D0
- move.l D0,8(A0)
- move.l _PtrGlb(A4),A0
- moveq.l #40,D0
- move.l D0,12(A0)
- pea.l l34(pc)
- move.l _PtrGlb(A4),A0
- pea.l 16(A0)
- jsr _strcpy(pc)
- addq.l #8,sp
- moveq.l #10,D0
- move.l D0,_Array2Glob+1660(A4)
- jsr _timer(pc)
- move.l D0,D4
- jsr _Forbid(pc)
- moveq.l #0,D7
- bra l23
- l20
- jsr _Proc5(pc)
- jsr _Proc4(pc)
- moveq.l #2,D0
- move.l D0,-4(A5)
- moveq.l #3,D2
- pea.l l35(pc)
- pea.l -76(A5)
- jsr _strcpy(pc)
- addq.l #8,sp
- moveq.l #1,D0
- move.l D0,-14(A5)
- pea.l -76(A5)
- pea.l -45(A5)
- jsr _Func2(pc)
- addq.l #8,sp
- moveq.l #0,D1
- tst.l D0
- seq.b D1
- neg.b D1
- move.l D1,_BoolGlob(A4)
- bra l25
- l24
- move.w -2(A5),D0
- muls.w #$05,D0
- sub.l D2,D0
- move.l D0,-8(A5)
- pea.l -8(A5)
- move.l D2,-(sp)
- move.l -4(A5),-(sp)
- jsr _Proc7(pc)
- lea 12(sp),sp
- addq.l #$01,-4(A5)
- l25
- cmp.l -4(A5),D2
- bgt l24
- l49
- l26
- move.l -8(A5),-(sp)
- move.l -4(A5),-(sp)
- pea.l _Array2Glob(A4)
- pea.l _Array1Glob(A4)
- jsr _Proc8(pc)
- lea 16(sp),sp
- move.l _PtrGlb(A4),-(sp)
- jsr _Proc1(pc)
- addq.l #4,sp
- moveq.l #65,D3
- bra l30
- l27
- pea 67.W
- move.b D3,D0
- ext.w D0
- ext.l D0
- move.l D0,-(sp)
- jsr _Func1(pc)
- addq.l #8,sp
- cmp.l -14(A5),D0
- bne l32
- l50
- l31
- pea.l -14(A5)
- clr.l -(sp)
- jsr _Proc6(pc)
- addq.l #8,sp
- l32
- l33
- l28
- addq.b #$01,D3
- l30
- cmp.b _Char2Glob(A4),D3
- ble l27
- l51
- l29
- move.l D2,D0
- move.l -4(A5),D1
- jsr __muls(pc)
- move.l D0,-8(A5)
- move.l -8(A5),D0
- move.l -4(A5),D1
- jsr __divs(pc)
- move.l D0,D2
- move.w -6(A5),D0
- move.w D2,D1
- neg.w D1
- add.w D0,D1
- muls.w #$07,D1
- move.l D1,D2
- sub.l -4(A5),D2
- move.l D2,-(sp)
- jsr _fake(pc)
- addq.l #4,sp
- pea.l -4(A5)
- jsr _Proc2(pc)
- addq.l #4,sp
- l21
- addq.l #$01,D7
- l23
- cmp.l _LOOPS(A4),D7
- blt l20
- l52
- l22
- jsr _Permit(pc)
- jsr _timer(pc)
- move.l D0,D1
- move.l D1,D0
- sub.l D4,D0
- move.l D0,D5
- sub.l D6,D5
- move.l D5,D0
- move.l #$03E8,D1
- jsr __mods(pc)
- move.l D0,-(sp)
- move.l D5,D0
- move.l #$03E8,D1
- jsr __divs(pc)
- move.l D0,-(sp)
- move.l _LOOPS(A4),-(sp)
- pea.l l36(pc)
- jsr _printf(pc)
- lea 16(sp),sp
- move.l _LOOPS(A4),D0
- move.l #$03E8,D1
- jsr __muls(pc)
- addq.l #$01,D5
- move.l D5,D1
- jsr __divs(pc)
- move.l D0,-(sp)
- pea.l l37(pc)
- jsr _printf(pc)
- addq.l #8,sp
- move.l D5,D0
- bra l39
- l39
- unlk A5
- movem.l (sp)+,D2/D3/D4/D5/D6/D7
- rts
- l41 reg D2/D3/D4/D5/D6/D7
- l40 equ 32
- l38 equ 76
- procend
- procstart
- xdef _timer
- _timer:
- movem.l l56,-(sp)
- link A5,#-l53
- pea.l -8(A5)
- pea.l -4(A5)
- jsr _CurrentTime(pc)
- addq.l #8,sp
- move.l -4(A5),D0
- move.l #$03E8,D1
- jsr __mulu(pc)
- move.l D0,D2
- move.l -8(A5),D0
- move.l #$03E8,D1
- jsr __divu(pc)
- add.l D2,D0
- bra l54
- l54
- unlk A5
- move.l (sp)+,D2
- rts
- l56 reg D2
- l55 equ 12
- l53 equ 8
- procend
- procstart
- xdef _Proc1
- _Proc1:
- movem.l l64,-(sp)
- move.l l63-4(A7),A2
- link A5,#-l61
- move.l (A2),A0
- move.l _PtrGlb(A4),A1
- moveq.l #11,D0
- lea.l (A1),A1
- lea.l (A0),A3
- l67
- move.l (A1)+,(A3)+
- dbf D0,l67
- moveq.l #5,D0
- move.l D0,12(A2)
- move.l (A2),A0
- move.l 12(A2),12(A0)
- move.l (A2),A0
- move.l (A2),(A0)
- move.l (A2),A0
- move.l (A0),-(sp)
- jsr _Proc3(pc)
- addq.l #4,sp
- move.l (A2),A0
- tst.l 4(A0)
- bne l59
- l58
- move.l (A2),A0
- moveq.l #6,D0
- move.l D0,12(A0)
- move.l (A2),A0
- pea.l 8(A0)
- move.l 8(A2),-(sp)
- jsr _Proc6(pc)
- addq.l #8,sp
- move.l (A2),A0
- move.l _PtrGlb(A4),A1
- move.l (A1),(A0)
- move.l (A2),A0
- pea.l 12(A0)
- pea 10.W
- move.l (A2),A0
- move.l 12(A0),-(sp)
- jsr _Proc7(pc)
- lea 12(sp),sp
- bra l60
- l59
- move.l (A2),A0
- moveq.l #11,D0
- lea.l (A0),A0
- lea.l (A2),A1
- l69
- move.l (A0)+,(A1)+
- dbf D0,l69
- l60
- l62
- unlk A5
- movem.l (sp)+,A2/A3
- rts
- l64 reg A2/A3
- l63 equ 16
- l61 equ 0
- procend
- procstart
- xdef _Proc2
- _Proc2:
- movem.l l83,-(sp)
- move.l l82-4(A7),A0
- link A5,#-l80
- moveq.l #10,D0
- add.l (A0),D0
- l70
- cmp.b #$41,_Char1Glob(A4)
- bne l75
- l85
- l74
- subq.l #$01,D0
- move.l D0,D2
- sub.l _IntGlob(A4),D2
- move.l D2,(A0)
- moveq.l #0,D1
- l75
- l76
- tst.l D1
- bne l78
- l77
- bra l72
- l78
- l79
- l71
- bra l70
- l72
- l81
- unlk A5
- move.l (sp)+,D2
- rts
- l83 reg D2
- l82 equ 12
- l80 equ 0
- procend
- procstart
- xdef _Proc3
- _Proc3:
- movem.l l92,-(sp)
- move.l l91-4(A7),A2
- link A5,#-l89
- tst.l _PtrGlb(A4)
- beq l87
- l86
- move.l _PtrGlb(A4),A0
- move.l (A0),(A2)
- bra l88
- l87
- moveq.l #100,D0
- move.l D0,_IntGlob(A4)
- l88
- move.l _PtrGlb(A4),A0
- pea.l 12(A0)
- move.l _IntGlob(A4),-(sp)
- pea 10.W
- jsr _Proc7(pc)
- lea 12(sp),sp
- l90
- unlk A5
- move.l (sp)+,A2
- rts
- l92 reg A2
- l91 equ 12
- l89 equ 0
- procend
- procstart
- xdef _Proc4
- _Proc4:
- movem.l l97,-(sp)
- link A5,#-l94
- moveq.l #0,D0
- cmp.b #$41,_Char1Glob(A4)
- seq.b D0
- neg.b D0
- or.l _BoolGlob(A4),D0
- move.b #$42,_Char2Glob(A4)
- moveq.l #0,D0
- bra l95
- l95
- unlk A5
- rts
- l97 reg
- l96 equ 8
- l94 equ 0
- procend
- procstart
- xdef _Proc5
- _Proc5:
- movem.l l104,-(sp)
- link A5,#-l101
- move.b #$41,_Char1Glob(A4)
- moveq.l #0,D0
- move.l D0,_BoolGlob(A4)
- l102
- unlk A5
- rts
- l104 reg
- l103 equ 8
- l101 equ 0
- procend
- procstart
- xdef _Proc6
- _Proc6:
- movem.l l122,-(sp)
- move.l l121-4(A7),D2
- move.l l121+0(A7),A2
- link A5,#-l119
- move.l D2,(A2)
- move.l D2,-(sp)
- jsr _Func3(pc)
- addq.l #4,sp
- tst.l D0
- bne l107
- l106
- moveq.l #3,D0
- move.l D0,(A2)
- l107
- l108
- move.l D2,D0
- tst.l D0
- beq l111
- subq.l #$01,D0
- beq l112
- subq.l #$01,D0
- beq l116
- subq.l #$01,D0
- beq l117
- subq.l #$01,D0
- beq l118
- bra l110
- l111
- moveq.l #0,D0
- move.l D0,(A2)
- bra l110
- l112
- moveq.l #100,D0
- cmp.l _IntGlob(A4),D0
- bge l114
- l124
- l113
- moveq.l #0,D0
- move.l D0,(A2)
- bra l115
- l114
- moveq.l #3,D0
- move.l D0,(A2)
- l115
- bra l110
- l116
- moveq.l #1,D0
- move.l D0,(A2)
- bra l110
- l117
- bra l110
- l118
- moveq.l #2,D0
- move.l D0,(A2)
- l110
- moveq.l #0,D0
- bra l120
- l120
- unlk A5
- movem.l (sp)+,D2/A2
- rts
- l122 reg D2/A2
- l121 equ 16
- l119 equ 0
- procend
- procstart
- xdef _Proc7
- _Proc7:
- movem.l l128,-(sp)
- move.l l127-4(A7),D0
- move.l l127+0(A7),D1
- move.l l127+4(A7),A0
- link A5,#-l125
- moveq.l #2,D2
- add.l D0,D2
- move.l D1,D3
- add.l D2,D3
- move.l D3,(A0)
- moveq.l #0,D0
- bra l126
- l126
- unlk A5
- movem.l (sp)+,D2/D3
- rts
- l128 reg D2/D3
- l127 equ 16
- l125 equ 0
- procend
- procstart
- xdef _Proc8
- _Proc8:
- movem.l l137,-(sp)
- move.l l136-4(A7),A2
- move.l l136+0(A7),A3
- move.l l136+4(A7),D2
- move.l l136+8(A7),D3
- link A5,#-l134
- moveq.l #5,D4
- add.l D2,D4
- move.l D4,D0
- asl.l #$02,D0
- move.l D3,0(A2,D0.L)
- moveq.l #1,D0
- add.l D4,D0
- asl.l #$02,D0
- move.l D4,D1
- asl.l #$02,D1
- move.l 0(A2,D1.L),0(A2,D0.L)
- moveq.l #30,D0
- add.l D4,D0
- asl.l #$02,D0
- move.l D4,0(A2,D0.L)
- move.l D4,D5
- bra l133
- l130
- move.l D4,D0
- move.l #$CC,D1
- jsr __muls(pc)
- move.l D5,D1
- asl.l #$02,D1
- lea.l 0(A3,D0.L),A0
- add.l D1,A0
- move.l D4,(A0)
- l131
- addq.l #$01,D5
- l133
- moveq.l #1,D1
- add.l D4,D1
- cmp.l D5,D1
- bge l130
- l139
- l132
- move.l D4,D1
- move.l D1,D0
- move.l #$CC,D1
- jsr __muls(pc)
- move.l D0,D1
- move.l D4,D0
- subq.l #$01,D0
- asl.l #$02,D0
- lea.l 0(A3,D1.L),A0
- add.l D0,A0
- addq.l #$01,(A0)
- moveq.l #20,D0
- add.l D4,D0
- move.l #$CC,D1
- jsr __muls(pc)
- move.l D4,D1
- asl.l #$02,D1
- lea.l 0(A3,D0.L),A0
- add.l D1,A0
- move.l D4,D1
- asl.l #$02,D1
- move.l 0(A2,D1.L),(A0)
- moveq.l #5,D1
- move.l D1,_IntGlob(A4)
- l135
- unlk A5
- movem.l (sp)+,D2/D3/D4/D5/A2/A3
- rts
- l137 reg D2/D3/D4/D5/A2/A3
- l136 equ 32
- l134 equ 0
- procend
- procstart
- xdef _Func1
- _Func1:
- movem.l l146,-(sp)
- move.b l145-1(A7),D0
- move.b l145+3(A7),D1
- link A5,#-l143
- move.b D0,D2
- move.b D2,D3
- cmp.b D3,D1
- beq l141
- l148
- l140
- moveq.l #0,D0
- bra l144
- bra l142
- l141
- moveq.l #1,D0
- bra l144
- l142
- l144
- unlk A5
- movem.l (sp)+,D2/D3
- rts
- l146 reg D2/D3
- l145 equ 16
- l143 equ 0
- procend
- procstart
- xdef _Func2
- _Func2:
- movem.l l167,-(sp)
- move.l l166-4(A7),A2
- move.l l166+0(A7),A3
- link A5,#-l164
- moveq.l #1,D2
- bra l150
- l149
- moveq.l #1,D0
- add.l D2,D0
- subq.l #4,sp
- move.b 0(A3,D0.L),3(A7)
- subq.l #4,sp
- move.b 0(A2,D2.L),3(A7)
- jsr _Func1(pc)
- addq.l #8,sp
- tst.l D0
- bne l153
- l152
- moveq.l #65,D3
- addq.l #$01,D2
- l153
- l154
- l150
- moveq.l #1,D0
- cmp.l D2,D0
- bge l149
- l169
- l151
- cmp.b #$57,D3
- blt l156
- l171
- cmp.b #$5A,D3
- bgt l156
- l172
- l170
- l155
- moveq.l #7,D2
- l156
- l157
- cmp.b #$58,D3
- bne l159
- l173
- l158
- moveq.l #1,D0
- bra l165
- bra l160
- l159
- move.l A3,-(sp)
- move.l A2,-(sp)
- jsr _strcmp(pc)
- addq.l #8,sp
- tst.l D0
- ble l162
- l174
- l161
- addq.l #$07,D2
- moveq.l #1,D0
- bra l165
- bra l163
- l162
- moveq.l #0,D0
- bra l165
- l163
- l160
- l165
- unlk A5
- movem.l (sp)+,D2/D3/A2/A3
- rts
- l167 reg D2/D3/A2/A3
- l166 equ 24
- l164 equ 0
- procend
- procstart
- xdef _Func3
- _Func3:
- movem.l l181,-(sp)
- move.l l180-4(A7),D0
- link A5,#-l178
- move.l D0,D1
- moveq.l #2,D2
- cmp.l D1,D2
- bne l176
- l183
- l175
- moveq.l #1,D0
- bra l179
- l176
- l177
- moveq.l #0,D0
- bra l179
- l179
- unlk A5
- move.l (sp)+,D2
- rts
- l181 reg D2
- l180 equ 12
- l178 equ 0
- procend
- procstart
- xdef _strcpy
- _strcpy:
- movem.l l190,-(sp)
- move.l l189-4(A7),A0
- move.l l189+0(A7),A1
- link A5,#-l187
- bra l185
- l184
- move.l A0,A2
- addq.l #$01,A0
- move.l A1,A3
- addq.l #$01,A1
- move.b (A3),(A2)
- l185
- tst.b (A1)
- bne l184
- l186
- l188
- unlk A5
- movem.l (sp)+,A2/A3
- rts
- l190 reg A2/A3
- l189 equ 16
- l187 equ 0
- procend
- procstart
- xdef _strcmp
- _strcmp:
- movem.l l201,-(sp)
- move.l l200-4(A7),A0
- move.l l200+0(A7),A1
- link A5,#-l198
- bra l193
- l192
- tst.b (A1)
- beq l196
- l195
- bra l194
- l196
- l197
- l193
- move.l A0,A2
- addq.l #$01,A0
- move.l A1,A3
- addq.l #$01,A1
- move.b (A2),D0
- cmp.b (A3),D0
- beq l192
- l203
- l194
- move.b (A0),D0
- sub.b (A1),D0
- ext.w D0
- ext.l D0
- bra l199
- l199
- unlk A5
- movem.l (sp)+,A2/A3
- rts
- l201 reg A2/A3
- l200 equ 16
- l198 equ 0
- procend
- xref __divu
- xref __mulu
- xref __mods
- xref __divs
- xref __muls
- xref _CurrentTime
- xref _printf
- xref _malloc
- xref _Permit
- xref _Forbid
- l37
-
- dc.b $54,$68,$69,$73,$20,$6D,$61,$63,$68,$69,$6E,$65
- dc.b $20,$62,$65,$6E,$63,$68,$6D,$61,$72,$6B,$73,$20
- dc.b $61,$74,$20,$25,$6C,$64,$20,$64,$68,$72,$79,$73
- dc.b $74,$6F,$6E,$65,$73,$2F,$73,$65,$63,$6F,$6E,$64
- dc.b $0A,$00
- l36
-
- dc.b $44,$68,$72,$79,$73,$74,$6F,$6E,$65,$20,$74,$69
- dc.b $6D,$65,$20,$66,$6F,$72,$20,$25,$6C,$64,$20,$70
- dc.b $61,$73,$73,$65,$73,$20,$3D,$20,$25,$6C,$64,$2E
- dc.b $25,$30,$33,$64,$0A,$00
- l35
-
- dc.b $44,$48,$52,$59,$53,$54,$4F,$4E,$45,$20,$50,$52
- dc.b $4F,$47,$52,$41,$4D,$2C,$20,$32,$27,$4E,$44,$20
- dc.b $53,$54,$52,$49,$4E,$47,$00
- l34
-
- dc.b $44,$48,$52,$59,$53,$54,$4F,$4E,$45,$20,$50,$52
- dc.b $4F,$47,$52,$41,$4D,$2C,$20,$53,$4F,$4D,$45,$20
- dc.b $53,$54,$52,$49,$4E,$47,$00
- END
-